home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 September / PCWSEP07.iso / Software / Linux / Linux Mint 3.0 Light / LinuxMint-3.0-Light.iso / casper / filesystem.squashfs / usr / share / doc / python-vte / README < prev   
Encoding:
Text File  |  2007-02-26  |  3.9 KB  |  70 lines

  1. * What is VTE?
  2. - You could say that VTE is something of a research project of mine, based on
  3.   the simple question:  "if programs can use a termcap file (through either
  4.   libtermcap or curses or ncurses) to determine how to drive a terminal, why
  5.   can't a terminal emulator use a termcap file to determine how to behave?"
  6.  
  7.   Update: the answer is most likely "because applications which use curses
  8.   have more detailed information than that which is found in termcap".
  9.  
  10. * What does VTE include?
  11. - VTE includes a library (libvte) which implements such a terminal emulator
  12.   widget for GTK+ 2.2/2.4, and a sample application (vte) which wraps that
  13.   widget in a GTK window.  Because I'm more concerned with whether or not it
  14.   works, all settings are hard-coded to whatever I needed to test the last time
  15.   I touched it.  If you actually want to use the widget to get work done, you
  16.   should probably be using gnome-terminal.
  17.  
  18. * How does it work?
  19. - The VTE library inserts terminal capability strings into a tree of tables,
  20.   and then uses it to determine if data received from a pseudo-terminal is a
  21.   control sequence or just random data.  The sample program "interpret"
  22.   illustrates more or less what the widget sees after it filters incoming data.
  23.  
  24. * What's missing?
  25. - Accessibility doesn't work quite right yet.
  26. - Mouse hilite tracking isn't implemented yet.  If you'll pardon the pun, for
  27.   certain applications we're terminally unusable without it.
  28. - No support for bidirectional text display.  No support for shaping.  More
  29.   on these topics:
  30.   http://www.opengroup.org/onlinepubs/9638399/overview.htm#tagcjh_03_03_01
  31.   http://www.opengroup.org/onlinepubs/9638399/overview.htm#tagcjh_03_03_02
  32.   http://www.unet.univie.ac.at/aix/aixprggd/genprogc/layout_over.htm
  33.   http://www.ecma-international.org/publications/techreports/E-TR-053.htm
  34. - Most control sequences are recognized, but many aren't implemented.  There
  35.   are enough to run ls, vim, less, emacs and mutt, but more need to be
  36.   implemented (ds, ff, hd, hu, i1, i3, iP, is, LF, LO, MC, ML, mm, mo, pf, pk,
  37.   pl, pn, po, pO, ps, px, r1, r2, r3, RA, RF, rp, rs, RX, SA, SX, wi, several
  38.   more from the XTerm set).
  39. - I'm not sure the widget implementation itself is correct.  There are many
  40.   changes in going from GTK+ 1.2 to 2.x, and examples of the proper way to do
  41.   things is currently scarce, so some of it's guesswork.
  42. - An actual property interface needs to be retrofitted over the various options
  43.   which are only presented as get/set accessors.
  44.  
  45. * What's weird?
  46. - Relative cursor motion is weird.  When the character to the left of the
  47.   cursor is a 3-byte UTF-8 sequence for a character which occupies two
  48.   columns on the screen, three things may happen when the application sends
  49.   the "cursor left" control sequence:
  50.   * the cursor moves two columns (one character) to the left
  51.     This eliminates the possibility of moving the cursor into the middle of
  52.     a multi-column character.
  53.   * the cursor moves one column (one half-character) to the left
  54.     This makes determining where the cursor is easier, but requires the
  55.     application to emit a control sequence more than once for multi-column
  56.     characters.
  57.   * the cursor moves one "byte" to the left
  58.     This is what most OS kernels do when reading input using "cat".  It
  59.     happens to work for a few locales, and is otherwise just plain broken.
  60.   Currently VTE follows the second convention.  More on this topic:
  61.   http://czyborra.com/unicode/terminals.html
  62.   http://mail.nl.linux.org/linux-utf8/1999-10/msg00014.html
  63.   http://www.debian.org/doc/manuals/intro-i18n/ch-output.en.html
  64. - Depending on your locale, the current encoding, and possibly the strengh
  65.   of cosmic rays, the display width of certain Unicode characters changes.
  66.   For the most part this works correctly now, but if you find that it
  67.   doesn't, please file a bug report including a screenshot, the typescript
  68.   file produced by the incorrectly displayed program run under "script", and
  69.   the contents of your LANG/LC_* environment variables.
  70.